Versi 1
| Field | Isi |
|---|---|
| Dokumen ID | VBS-LAP-016 |
| Deskripsi | Laporan pelacakan lot FIFO: menelusuri setiap lot barang masuk, asal penerimaannya, sisa yang masih tersedia, dan ke mana barang tersebut tersebar |
| Nomor Revisi | 1 |
| Tanggal | 2026-10-04 |
| Keterangan | Dokumentasi baseline dari dokumentasi fitur demo dan kode FE |
1. Ringkasan
a. In scope
- User membuka laporan Pelacakan Lot FIFO dari kelompok Laporan Stok dan Persediaan.
- User memilih mode laporan: barang masuk pada periode tertentu, atau semua barang masuk yang masih tersedia.
- User memfilter lot berdasarkan periode, cabang, dan nomor invoice.
- User melihat daftar lot: tanggal, nomor lot, nama barang, asal penerimaan (supplier atau produksi), kuantitas, cabang, tujuan penyebaran, dan jumlah tersebar.
- User dapat menampilkan juga lot yang sudah habis pada mode periode.
- User membuka dokumen sumber lot (pembelian, mutasi, produksi, retur, stok opname, inisiasi) di tab baru.
- User mengekspor hasil laporan ke Excel jika memiliki hak akses.
b. Catatan
c. Kesimpulan
- [FE] -
- [BE] -
2. Functional Requirement
| Kode | Deskripsi |
|---|---|
| FR-01 | Sistem menampilkan lot barang masuk pada rentang periode yang dipilih user |
| FR-02 | Sistem menampilkan semua lot barang masuk yang masih memiliki sisa sejak tanggal inisiasi brand sampai hari ini |
| FR-03 | User dapat memfilter lot berdasarkan cabang dan nomor invoice |
| FR-04 | Pada mode periode, lot dengan sisa nol disembunyikan kecuali user mengaktifkan opsi tampilkan barang yang sudah habis |
| FR-05 | Sistem menampilkan nama barang, nama cabang, dan nama supplier untuk setiap lot |
| FR-06 | User dapat membuka dokumen sumber lot sesuai modul asalnya |
| FR-07 | User dengan izin Excel dapat mengekspor laporan ke file Excel |
3. Use Case List
| Kode | Deskripsi |
|---|---|
| UC-01 | Menampilkan lot barang masuk pada periode tertentu |
| UC-02 | Menampilkan semua lot yang masih tersedia |
| UC-03 | Memfilter lot berdasarkan cabang dan nomor invoice |
| UC-04 | Menampilkan lot yang sudah habis |
| UC-05 | Membuka dokumen sumber lot |
| UC-06 | Mengekspor laporan pelacakan lot ke Excel |
4. Use Case Scenario
UC-01 : Menampilkan lot barang masuk pada periode tertentu
| Aktor | User stok / akuntansi |
| Deskripsi | User melihat lot barang masuk yang terjadi pada rentang periode tertentu |
| Prekondisi | User sudah login, brand aktif, dan memiliki akses menu laporan stok |
| Alur utama | 1. User membuka Laporan Stok lalu memilih Pelacakan Lot FIFO. 2. User mengisi periode dan memilih mode barang masuk pada periode tertentu. 3. User menekan tombol tampilkan. 4. Sistem menampilkan daftar lot beserta nama barang, cabang, supplier, dan penyebarannya. |
| Alur negatif | - Jika periode kosong, muncul alert "Periode Tidak Boleh Kosong". - Jika filter belum diterapkan, halaman menampilkan "Lengkapi filter untuk menampilkan data". - Jika data tidak ditemukan atau permintaan gagal, muncul notifikasi "Data yang anda filter tidak ditemukan silahkan ganti filter". |
| Bisnis rule | - Jika mode tidak dipilih, laporan diperlakukan sebagai mode periode. - Pada mode periode, default hanya lot dengan sisa lebih dari nol yang tampil. - Asal penerimaan untuk modul produksi ditampilkan sebagai "Produksi", bukan nama supplier. |
| Postkondisi | Daftar lot periode tampil |
| Trigger | User menekan tombol tampilkan pada filter |
| Kode FR | FR-01 FR-05 |
UC-02 : Menampilkan semua lot yang masih tersedia
| Aktor | User stok / akuntansi |
| Deskripsi | User melihat seluruh lot yang masih memiliki sisa tanpa dibatasi periode |
| Prekondisi | User sudah login dan brand memiliki tanggal inisiasi |
| Alur utama | 1. User memilih mode semua barang masuk yang masih tersedia. 2. User menekan tombol tampilkan. 3. Sistem menampilkan semua lot dengan sisa lebih dari nol. |
| Alur negatif | - Jika tidak ada lot tersisa, muncul notifikasi "Data yang anda filter tidak ditemukan silahkan ganti filter". |
| Bisnis rule | - Periode pada filter diabaikan. - Rentang data otomatis dari tanggal inisiasi brand sampai hari ini. - Hanya lot dengan sisa minimal 0,01 yang diambil. |
| Postkondisi | Daftar lot tersedia tampil |
| Trigger | User memilih mode semua lot tersedia lalu menekan tampilkan |
| Kode FR | FR-02 FR-05 |
UC-03 : Memfilter lot berdasarkan cabang dan nomor invoice
| Aktor | User stok / akuntansi |
| Deskripsi | User mempersempit hasil ke cabang atau nomor invoice tertentu |
| Prekondisi | Halaman Pelacakan Lot FIFO terbuka |
| Alur utama | 1. User membuka panel filter tambahan. 2. User memilih satu atau beberapa cabang dan nomor invoice. 3. User menekan tombol tampilkan. 4. Sistem menampilkan lot yang sesuai filter. |
| Alur negatif | - Jika kombinasi filter tidak menghasilkan data, muncul notifikasi data tidak ditemukan. - Jika user menekan reset, filter kembali kosong dan laporan dikosongkan. |
| Bisnis rule | - Filter cabang dan nomor invoice dapat multi pilihan. |
| Postkondisi | Daftar lot terfilter tampil |
| Trigger | User menerapkan filter tambahan |
| Kode FR | FR-03 |
UC-04 : Menampilkan lot yang sudah habis
| Aktor | User stok / akuntansi |
| Deskripsi | User ingin melihat juga lot yang sisanya sudah nol |
| Prekondisi | Laporan sudah tampil dalam mode periode |
| Alur utama | 1. User mengaktifkan toggle "Tampilkan barang yang sudah habis". 2. Sistem menampilkan seluruh lot periode termasuk yang sisanya nol. |
| Alur negatif | - Toggle tidak tersedia pada mode semua lot tersedia. |
| Bisnis rule | - Toggle hanya menyaring data di layar, tanpa memuat ulang dari server. - Toggle direset ke nonaktif setiap kali laporan dimuat ulang. |
| Postkondisi | Lot habis ikut tampil |
| Trigger | User mengubah toggle |
| Kode FR | FR-04 |
UC-05 : Membuka dokumen sumber lot
| Aktor | User stok / akuntansi |
| Deskripsi | User menelusuri dokumen asal dari nomor lot |
| Prekondisi | Laporan sudah tampil |
| Alur utama | 1. User mengklik nomor lot FIFO. 2. Sistem membuka halaman lihat dokumen sumber di tab baru sesuai modul asal lot. |
| Alur negatif | - Untuk modul Produksi dan Produksi recurring, muncul alert "Halaman Modul ... Belum diketahui" dan tidak ada halaman yang dibuka. |
| Bisnis rule | - Modul yang didukung: Inisiasi Neraca Awal, Mutasi Cabang, Pembelian, Pembelian Import, Penjualan Konsinyasi, Persediaan Inisiasi, Persediaan Inisiasi Konsinyasi, Produksi long term, Produksi without_bom, Produksi with_bom, Return Penjualan, Stok Opname. |
| Postkondisi | Dokumen sumber terbuka di tab baru |
| Trigger | User mengklik nomor lot |
| Kode FR | FR-06 |
UC-06 : Mengekspor laporan pelacakan lot ke Excel
| Aktor | User dengan izin Excel laporan pelacakan lot |
| Deskripsi | User mengunduh hasil laporan dalam format Excel |
| Prekondisi | Laporan sudah tampil dan user memiliki izin Excel |
| Alur utama | 1. User menekan tombol export Excel. 2. Sistem menyusun baris dari data yang sedang tampil. 3. Browser mengunduh file "Laporan Pelacakan Lot Biaya Fifo.xlsx". |
| Alur negatif | - Jika periode kosong, muncul alert "Periode Tidak Boleh Kosong". - Jika filter belum diterapkan, muncul alert "Silahkan Filter Terlebih dahulu data yang ingin ditampilkan". - Jika data kosong, muncul notifikasi "Data tidak ditemukan". |
| Bisnis rule | - Tombol hanya tampil bila user memiliki izin excel pada #lap-pelacakan-lotfifo.- Ekspor dibuat di browser tanpa memanggil API baru. |
| Postkondisi | File Excel terunduh |
| Trigger | User menekan tombol export Excel |
| Kode FR | FR-07 |
5. Data Flow Diagram
DFD-01 — Alur data pelacakan lot FIFO
6. Sequence Diagram
SD-01 — UC-01 : Menampilkan lot barang masuk pada periode tertentu
SD-02 — UC-02 : Menampilkan semua lot yang masih tersedia
SD-03 — UC-03 : Memfilter lot berdasarkan cabang dan nomor invoice
SD-04 — UC-04 : Menampilkan lot yang sudah habis
SD-05 — UC-05 : Membuka dokumen sumber lot
SD-06 — UC-06 : Mengekspor laporan pelacakan lot ke Excel
7. Table Schema
8. API Schema
| Endpoint | Status | Perubahan |
|---|---|---|
POST /laporan-barang-rinci/barang-masuk-rinci-report | existing | - |
GET /gudang | existing | - |
GET /person | existing | - |
POST /sku/get-bulk-sku | existing | - |